encyklopedia.space

Amazon S3

Amazon Simple Storage Service (w skrócie S3) jest skalowalnym, wysokodostępnym i trwałym systemem przechowywania obiektów w chmurze, udostępnianym w ramach platformy Amazon Web Services (AWS). Usługa została uruchomiona w 2006 roku i od tego czasu stała się jedną z najpopularniejszych usług przechowywania danych na świecie.

Historia

Amazon S3 został ogłoszony pod koniec 2005 roku, a oficjalnie udostępniony publicznie w 2006 roku. Początkowo usługa była skierowana do deweloperów potrzebujących prostego sposobu na przechowywanie i pobieranie dużych ilości danych. Z biegiem lat wprowadzono szereg funkcji, takich jak wersjonowanie, polityki cyklu życia, czy klasy przechowywania dostosowane do różnych potrzeb kosztowych i wydajnościowych.

Architektura

Podstawowe elementy Amazon S3 to:

  • Bucket (wiaderko) – logiczna kontenerka, w której przechowywane są obiekty. Każdy bucket posiada unikalną nazwę w skali globalnej.
  • Obiekt (object) – dowolny plik (np. dokument, obraz, wideo) wraz z metadanymi. Każdy obiekt jest identyfikowany przez klucz (key) oraz wersję (jeśli włączono wersjonowanie).
  • Klucz (key) – unikalny identyfikator obiektu w obrębie bucketu, często odzwierciedlający strukturę katalogów (np. folder1/folder2/plik.txt).
  • Region – fizyczne położenie centrów danych, w których bucket jest przechowywany. Umożliwia to optymalizację opóźnień i spełnienie wymogów regulacyjnych.

Kluczowe cechy

Trwałość i dostępność
Amazon S3 zapewnia trwałość 99,999999999 % (11 dziewiątek) oraz dostępność na poziomie 99,9 % w standardowej klasie przechowywania.
Skalowalność
Usługa automatycznie dostosowuje się do rosnących potrzeb, umożliwiając przechowywanie nieograniczonej liczby obiektów i ich nieograniczonego rozmiaru (do 5 TB na pojedynczy obiekt).
Bezpieczeństwo
Obsługa szyfrowania po stronie serwera (SSE‑S3, SSE‑KMS) oraz szyfrowania po stronie klienta. Kontrola dostępu realizowana jest przez polityki bucketów, listy kontroli dostępu (ACL) oraz AWS IAM.
Wersjonowanie
Umożliwia przechowywanie wielu wersji tego samego obiektu, co zabezpiecza przed przypadkowym usunięciem lub nadpisaniem danych.
Polityki cyklu życia
Automatyzują przenoszenie obiektów do tańszych klas przechowywania (np. Glacier, Intelligent‑Tiering) lub ich trwałe usuwanie po określonym czasie.
Event notifications
S3 może generować powiadomienia (np. do AWS Lambda, Amazon SNS, Amazon SQS) w odpowiedzi na zdarzenia, takie jak wgranie nowego obiektu czy jego usunięcie.
Klasy przechowywania
Standard, Standard‑IA (Infrequent Access), One Zone‑IA, Intelligent‑Tiering, Glacier, Glacier Deep Archive – różnią się kosztami i czasem przywracania danych.

Typowe zastosowania

  • Backup i archiwizacja danych.
  • Hosting statycznych stron internetowych (hosting statycznych witryn).
  • Data lake i hurtownie danych – współpraca z usługami takimi jak Amazon Redshift czy Amazon EMR.
  • Przechowywanie mediów (zdjęcia, filmy, pliki audio) i streaming.
  • Przesyłanie dużych plików (np. backup maszyn wirtualnych, obrazy dysków).
  • Rozproszona wymiana danych pomiędzy aplikacjami i serwisami (np. Amazon EC2, Amazon EKS).

Integracja z innymi usługami AWS

Amazon S3 współpracuje z wieloma innymi komponentami ekosystemu AWS, co umożliwia tworzenie złożonych rozwiązań:

  • Amazon EC2 – bezpośredni dostęp do danych z instancji wirtualnych.
  • AWS Lambda – wyzwalanie funkcji w odpowiedzi na zdarzenia S3.
  • Amazon CloudFront – dystrybucja treści z S3 na skalę globalną.
  • AWS IAM – zarządzanie uprawnieniami i rolami.
  • AWS CloudTrail – monitorowanie operacji i audyt.
  • AWS Athena – zapytania SQL bezpośrednio na danych przechowywanych w S3.

Model cenowy

Cennik Amazon S3 opiera się na trzech głównych elementach:

  1. Przechowywanie – opłata za liczbę gigabajtów (GB) miesięcznie, różna w zależności od wybranej klasy.
  2. Transfer danych – opłaty za wychodzący transfer (outbound) z AWS do Internetu; transfer przychodzący (inbound) jest zazwyczaj bezpłatny.
  3. Operacje – koszty związane z wykonywaniem żądań (PUT, GET, LIST, DELETE itp.), podzielone na klasy „requests” i „data retrieval”.

Użytkownicy mogą korzystać z bezpłatnego poziomu (Free Tier) – 5 GB standardowego przechowywania oraz 20 000 żądań GET i 2 000 żądań PUT miesięcznie przez pierwsze 12 miesięcy.

Konkurencja

Na rynku istnieją inne rozwiązania oferujące podobną funkcjonalność:

Zalety i ograniczenia

Zalety

  • Wysoka trwałość i dostępność.
  • Prosta struktura API (RESTful, SDK w wielu językach).
  • Elastyczność kosztowa dzięki wielu klasom przechowywania.
  • Rozbudowane mechanizmy bezpieczeństwa i kontroli dostępu.
  • Ścisła integracja z ekosystemem AWS.

Ograniczenia

  • Opóźnienia przy dostępie do najtańszych klas (np. Glacier – od kilku minut do kilku godzin).
  • Opłaty za operacje i transfer danych mogą znacząco zwiększyć koszty przy intensywnym użytkowaniu.
  • Model bezpieczeństwa wymaga starannej konfiguracji polityk IAM i bucketów – nieprawidłowe ustawienia mogą prowadzić do wycieków danych.

Patrz także